Programmation

Introduction à Python


Option ISN - Lycée St Exupéry

Algorithmique ≠ Programmation

  • Algorithme rédigé en français (conception)
  • Codage dans un langage de programmation (programmation)
  • Traduction automatique en langage machine (compilation)
  • Exécution (partie utilisateur)

Tentative de définition

En informatique, un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent.

Des langages de programmation :


C++, Java, Python, Javascript, PHP, Perl, Lisp, Basic, ...

  • C++ : applications, performance, OS, jeux, ...
  • Java : multi-plateforme, applets, mobiles, entreprise, ...
  • PHP : développeurs web, pages dynamiques, serveur, ...
  • Python : multi-plateforme, simple, libre, ...
  • Javascript : web interactif, client, jeux simples, pub, ...

Popularité

  • PyPL : compte le nombre de fois qu'un tutoriel est cherché par les utilisateurs de Google
  • TIOBE : nombre de pages web retournées par un moteur de recherche sur le langage de programmation.

Entrées, Sorties

Affectation

x=3.14
L'affectation se fait avec le signe "=", et les comparaisons avec "=="

Lecture d'une valeur

x=input()
Le programme s'arrête pour demander à l'utilisateur de donner une valeur au clavier.

Ecriture

print(x)
print("Hello")
a=2015
print("Nous sommes en %i" %a)
	
La première instruction affiche la valeur de x, la deuxième le texte "Hello", et la troisième "Nous sommes en 2015"

 

Exemples

Exemple 1

print("Entrez votre age")
a=int(input())
b=100 - a
print("Dans %i vous serez centenaire" % b)
	
Le programme demande un âge, calcule les années jusqu'à 100 et répond avec une phrase

Exemple 2

p=3,14159
print("Le nombre pi vaut environ %f" %p)
	
%f représente un flottant et %i un entier

Test si ... alors WWW

Test simple

if condition :
   instructions

Test et alternative

if condition :
   instructions1
else: 
  instructions2

Tests multiples :

if condition1:
   instructions1
elif condition2:
     instructions2
elif condition3:
     instructions3
else:
     instructions0

 

Attention, si l'indentation n'est pas respectée, python génère une erreur.

Exemples Python

Tempus fugit


if a <= 2017:
   print("C'est du passé !")
else:
   print("C'est du futur !")

Mot de passe naïf


if login == "admin":
   print("Bienvenue Ô Maître")
elif login == "guest":
     print("Bienvenue invité")
else:
  print("Sortez d'ici !")

Tarifs préférentiels :


if age < 6:
   prix = 0
elif age < 12:
	prix = 10
elif age < 25:
	prix = 20
elif age < 60:
	prix = 40
else:
    prix = 20
print("Le prix vaut %i" % prix)

 

Boucle pour WWW

Boucle simple

for i in range(départ, longueur):
    instructions

Exemple 1


for i in range(0, 100):
    print(i)
Ce programme affiche les nombres entiers de 0 à 99.

Exemple 2


S=0
for i in range(1, 100):
    S=S+i
print(S)
Somme des entiers de 1 à 100.

Exemple 3


N=len(L)
d = L[N-1]
for i in range(1,N):
    L[i]=L[i-1]
L[0]=d
	
Décalage de liste la liste d'entrée : à partir de [1,2,3,4], la liste de sortie serait [4,1,2,3].

 

Boucle for et listes

On souhaite afficher les termes de la liste L=[2,3,5,7,11]

Méthode 1


N=len(L)
for i in range(0, N):
    print(L[i])
Cette boucle fait varier i sur les indices de 0 à N-1 (4).

Méthode 2


for x in L:
    print(x)
Cette boucle fait varier x sur les termes de la suite (de 2 jusqu'à 11).

 

Boucle tant que WWW

Boucle simple

while conditions:
      instructions

Attention mauvais exemple


i = 1
while i > 0:
      i = i+1
								
La boucle est infinie, il faut cliquer sur le bouton de sortie d'urgence.

Exemple


while x>=1:
      x = x/2
      n = n+1
print("on divise %i" %n)
								
Ce programme calcule le logarithme entier de x

 

Les fonctions

Une fonction est composée de :
  • un nom
  • des arguments (optionnels)
  • une sortie (optionnelle)

Exemples de fonctions pré-programmées :

  • abs(-5) renvoie 5
  • len([2,3,5]) renvoie 3
  • cos(0) renvoie 1
  • print("hello") ne renvoie rien

Définir une fonction en python

Exemple 1


def mafonction():
    print("hello")
    
Cette fonction n'a ni argument ni sortie.

Exemple 2


def carre(n):
    return n**2
Cette fonction prend un nombre en argument et retourne son carré.

Exemple 3


def somme(L):
    S=0
    for x in L:
        S=S+x
    return S
	
Cette fonction prend une liste en argument et renvoie la somme de ses éléments.

Exemple 4


def mafonction2(L):
    S=somme(L)
    return carre(S)
	
Cette fonction prend une liste en argument et renvoie le carré de la somme de ses éléments.

 

L'éditeur Python Idle

Idle

La fenêtre principale de Idle (le shell) permet de tester des instructions simples en Python, sans les enregistrer.

Nouveau programme Python

Pour créer un nouveau programme Python (un fichier *.py), faire File → new file

Idle

En exécutant le programme avec Run ou F5, les résultats s'affichent dans le shell

THE END

option ISN - Lycée Saint Exupéry